'''给定 S 和 T 两个字符串，当它们分别被输入到空白的文本编辑器后，判断二者是否相等，并返回结果。 # 代表退格字符。
注意：如果对空文本输入退格字符，文本继续为空。'''
class Solution:
    def backspaceCompare(self, S, T):
        # for i in range(len(S)):
        #     if S[i] == '#':
        #         S = S[:i-1] +S[i+1:]
        # for i in range(len(T)):
        #     if T[i] == '#':
        #         T = T[:i-1] +T[i+1:]
        # return S==T
        def pushStack(str):
            stack = []
            for i in str:
                if i != '#':
                    stack.append(i)
                else:
                    if stack:
                        stack.pop()
            return stack
        return pushStack(S) == pushStack(T)
'''
思路的问题是空的时候不好判断，并且修改字符串的长度会导致索引的变化
不如用一个栈来实现！
对待空白情况！核心就是使用栈
'''

print(Solution().backspaceCompare("a##c", "#a#c"))